/**
 * 
 */
package org.ccay.personalized.dao;

import java.util.List;

import org.ccay.personalized.PersonalizedSettingVO;

/**
 * 个性化服务dao类
 * @author chaowangbang
 *
 */
public interface IPersonalizedSettingDao {

	/**
	 * @param queryCondiction
	 * @return
	 * @see org.ccay.personalized.dao.IPersonalizedSettingDao#findUserPageSetttings(org.ccay.personalized.PersonalizedSettingVO)
	 */
	@Deprecated
	public List<PersonalizedSettingVO> findUserGlobalSettings(PersonalizedSettingVO queryCondiction);
	
	/**
	 * @param queryCondiction
	 * @return
	 */
	public List<PersonalizedSettingVO> findUserPageSetttings(PersonalizedSettingVO queryCondiction);
	
	/**
	 * 查询指定页面指定用户的个性化配置
	 * 指定用户需要设置最后更新人ID : queryCondiction.setLastUpdatedBy(userId)
	 * @param queryCondiction
	 * @return 符合条件的个性化配置列表
	 * @author chaowangbang
	 * @since 2015年1月12日
	 */
	public List<PersonalizedSettingVO> findPageSetttings(PersonalizedSettingVO queryCondiction);
	
	
	
	

	/**
	 * @param personalizedSettingVOList
	 */
	public int createUserSettings(List <PersonalizedSettingVO> personalizedSettingVOList);

	/**
	 * @param toSavePersonalizedSetting
	 * @return
	 */
	public int createUserSetting(PersonalizedSettingVO toSavePersonalizedSetting);
	
	public List<PersonalizedSettingVO> findUserSettings(PersonalizedSettingVO toSavePersonalizedSetting);
	
	/**
	 * @param toUpdatePersonalizedSetting
	 * @return
	 */
	public int updateUserSetting(PersonalizedSettingVO toUpdatePersonalizedSetting);
	
	/**
	 * @param personalizedSettingVOList
	 * @return
	 */
	public int updateUserSettings(List <PersonalizedSettingVO> personalizedSettingVOList);
	
	/**
	 * @param toDeletePersonalizedSetting
	 */
	public int deleteUserSetting(PersonalizedSettingVO toDeletePersonalizedSetting);
	
	/**
	 * @param personalizedSettingVOList
	 * @return
	 */
	public int deleteUserSettings(List <PersonalizedSettingVO> personalizedSettingVOList);
	
	/**
	 * 查询一条记录是否存在
	 * @author chaowangbang
	 * @since 2012-06-18
	 * @param personalizedSetting
	 * 
	 */
	public int findUserSettingNumber(PersonalizedSettingVO personalizedSetting);
}
